////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                            //
//                                                         WNProject                                                          //
//                                                                                                                            //
//            This file is distributed under the BSD 2-Clause open source license. See License.txt for details.               //
//                                                                                                                            //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef __WN_INTEROP_SIMPLE_IO_H
#define __WN_INTEROP_SIMPLE_IO_H

#include "WNCore/inc/WNPlatform.h"
#include "WNCore/inc/WNTypes.h"

namespace WNInterop {
    WN_VOID  WN_CDECL_BEGIN WNWriteString(WN_BYTE* _scriptString) WN_CDECL_END;
    WN_VOID  WN_CDECL_BEGIN WNWriteString2(WN_BYTE* _scriptString, WN_INT32 _length) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNStackReadLine(WN_INT32 _maxSize) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNReadLine(WN_BYTE* _scriptString) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend0(WN_BYTE* _string, WN_INT32 _buffLoc, WN_INT32 _number) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend1(WN_BYTE* _string, WN_INT32 _buffLoc, WN_CHAR _letter) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend2(WN_BYTE* _string, WN_INT32 _buffLoc, WN_FLOAT32 _number) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend3(WN_BYTE* _string, WN_INT32 _buffLoc, WN_INT32 _number, WN_INT32 _length) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend4(WN_BYTE* _string, WN_INT32 _buffLoc, WN_FLOAT32 _number, WN_INT32 _whole, WN_INT32 _fraction) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend5(WN_BYTE* _buff, WN_INT32 _buffLoc, WN_BYTE* _string) WN_CDECL_END;
    WN_INT32 WN_CDECL_BEGIN WNAppend6(WN_BYTE* _buff, WN_INT32 _buffLoc, WN_BYTE* _string, WN_INT32 _size) WN_CDECL_END;
};

#endif // __WN_INTEROP_SIMPLE_IO_H
